import { createApp } from "vue";
import App from "./App.vue";
// 获取app实例
const app = createApp(App);
import "element-plus/dist/index.css";
// 引入自定义插件对象:注册整个项目的全局组件
import globalComponent from "@/components";
// 引入模板的全局样式
import "@/styles/index.scss";
// 引入仓库
import pinia from "./store";
// 引入路由
import router from "./router";
// 引入路由鉴权文件
import "./premission";
// element-ui的暗黑模式
import "element-plus/theme-chalk/dark/css-vars.css";
// 引入自定义指令文件
import authority from "@/directive/authority";

// 安装自定义插件
app.use(globalComponent);
app.use(router);
app.use(pinia);

// 安装自定义指令
authority(app);
// 在通过setup生成的store，想要使用$reset的话需要添加下面这个代码
pinia.use(({ store }) => {
    const initialState = JSON.parse(JSON.stringify(store.$state));
    store.$reset = () => {
        store.$patch(initialState);
    };
});
// ---------------------------------------------------------------------------
app.mount("#app");
// 接口测试
// import { reqLogin } from "@/api/user/index.ts";
// import { loginForm } from "./api/user/type";
// const data: loginForm = {
//     username: "admin",
//     password: "111111",
// };

// reqLogin(data);
